home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
19
/
madtrb40.zip
/
FONTEDIT.DOC
< prev
next >
Wrap
Text File
|
1986-05-20
|
30KB
|
661 lines
FONTEDIT Page 1 Documentation
USER'S MANUAL
*********************************************************************
* *
* FFFFF 000 N N TTTTT EEEEE DDDD IIIII TTTTT *
* F O O NN N T E D D I T *
* FF O O N N N T EE D D I T *
* F O O N NN T E D D I T *
* F OOO N N T EEEEE DDDD IIIII T *
* *
*********************************************************************
A font editing program for Epson and compatable printers.
Version 1.01
Written by
Claire A. Rinehart
April 1986
Copyright (c) 1986
FONTEDIT is distributed as a shareware program. That is, you may use
it, copy it and distribute it freely. You may not, however, sell it
for more the the cost of the media upon which it is distributed. The
author will not be liable for any damages resulting from use or
inability to use this program or its associated utilities. The
author reserves the right of copyright and this program may not be
used commercially without the author's written consent. If you find
this program helpful and would like to contribute to more high
quality programs feel free to send a contribution up to $10.
Feedback and contributions should be addressed to Claire A. Rinehart,
18C University Houses, Madison, WI 53705. Messages may be left on
the Madison PC-Users Group board (608) 256-8088.
FONTEDIT Page 2 Documentation
TABLE OF CONTENTS
_________________
Introduction . . . . . . . . . . . . 3
Overview of program . . . . . . . . . . . 3
Acknowledgements . . . . . . . . . . . 3
FONTEDIT.LBR contents . . . . . . . . . . 4
What is a user defined character? . . . . . . . 4
Details of functions . . . . . . . . . . 6
Load font . . . . . . . . . . . . 6
Save font . . . . . . . . . . . . 6
Copy characters from another font . . . . . . 7
Select character . . . . . . . . . . 7
Edit font . . . . . . . . . . . . 7
Cursor movement . . . . . . . . . 7
Inserting and Deleting dots . . . . . . 7
Shifting characters . . . . . . . . 8
Fill character matrix . . . . . . . 8
Clear character . . . . . . . . . 8
Copy character . . . . . . . . . 8
Print character . . . . . . . . . 8
End Edit . . . . . . . . . 8
Print current font . . . . . . . . . . 9
Clear font . . . . . . . . . . . . 9
End FONTEDIT program . . . . . . . . . 9
Loading fonts into printer RAM . . . . . . . . 10
Uses of FONTEDIT . . . . . . . . . . . 10
FONTEDIT Page 3 Documentation
INTRODUCTION
------------
The impetus for writing this program came when I bought my first
printer, an Epson JX-80. It is the color version of the early
FX-series printers, as far as I can tell, and lacks the built in
Greek and line characters that are found on other machines. Since I
needed these for scientific report writing I set about to create this
program. I admit that it has developed further than I had originally
intended but has proven to very functional in a number of printer
related matters and above all, educational.
C. A. Rinehart April 1986
OVERVIEW
--------
This program is designed for Epson JX, FX-series and compatable
printers, such as the IBM proprinter, that have the capability to
accept downloadable font characters from the attached computer. It
allows you to create font characters, edit them, print them, save
them to a font file, and send them to the printers RAM area by a
separate utility program. Partial sets of characters may be copied
from other font files and individual characters may be moved within
the font being edited. This allows easy mixing and matching of
characters for application specific font files. A number of example
font files have been included to get you started and allow you to
experiment with user defined characters before you invest much time
in pursuing your own devices.
ACKNOWLEDGEMENTS
----------------
I wish to acknowledge the people whose public domain software was
drawn upon for this project.
Jim Everingham The Window Manager/Editor version 1.0
Bela Lubkin INT24.PAS
Chris Maeder DirectoryModule procedure.
P.O. Box 2598
Madison, WI 53701
I want to thank these people and all the other authors that
contribute code to the public. Shared programs are a great resource
to draw upon when developing specific software. I also want to thank
the Madison PC User's Group Turbo Pascal Special Interest Group for
so effectively collecting and organizing the public domain Turbo
programs, routines and utilities. This group has over 40 dsdd
diskettes full of public domain Turbo software which they distribute
at a very reasonable rate ($2/disk). Contact Chris Maeder for more
information on this library.
FONTEDIT Page 4 Documentation
Files in FONTEDIT library
-------------------------
These files should be found in the library distributed as
FONTEDIT.LBR:
FONTEDIT.COM Compiled version of FONTEDIT.
FONTEDIT.PAS Main Turbo Pascal (tm) source code for
FONTEDIT.
VAR.INC Include file for WindMngr.inc.
WINDMNGR.INC Windowing by Jim Everingham.
ANSWER.INC Include file to get a selected response.
IXTON.INC Include file raised integer to power.
FILES.INC File management module.
EPSONLDR.COM Program to load font into Epson printer.
EPSONLDR.PAS Source code for above.
PROLDR.COM Program to load font into IBM Proprinter.
PROLDR.PAS Source for above.
GRKLN.FNT Font of greek letters and lines.
IBM.FNT Font of IBM character set.
SIDEWAYS.FNT Font of sideways characters.
What is a "User Defined Character"??
------------------------------------
Before jumping into character generation, I feel that it may be
helpful to understand a little of how a character is defined for the
printer. The character matrix is a 9 by 11 block as shown in figure
1. Each printer has nine pins in the print head. This makes it
possible to print dots in any of nine positions per column. There
is a limitation to the number of pins that can be fired at once,
however, you can only select eight of these pins at one time.
Therefore, you must select either the top or the bottom eight pins
when printing a character. Selection of either the top or bottom 8
pins is controlled by the attribute byte which will be discussed
shortly. Effectively then, you are limited to an 8 by 11 matrix when
designing a character. Notice that there are 11 columns in the
character matrix. These are numbered as even and odd columns. Each
dot when printed will fill the area defined by one box. Therefore,
even and odd numbered columns would have overlapping dots if they
were printed adjacent to one another. Printing dots in adjacent
even and odd columns is not possible, however, since the pins cannot
recover fast enough to fire the next stroke. FONTEDIT will not let
you place contiguous dots in a character but will beep to indicate
you are trying to enter an illegal dot. In figure 1. the Xs in the
printing row for pin 8 shows illegally positioned dots. Rows 2 to 6
show legal dot entries.
FONTEDIT Page 5 Documentation
1 3 5 7 9 11 Odd Column #s
PIN -------------------
9 | | | | | | |
-------------------
8 | | XX | | | |
-------------------
7 | | | | | | |
-------------------
6 | | X| | X| | |
------------------- FIGURE 1
5 | | X X | | |
-------------------
4 | X | X| X X |
-------------------
3 | | X X | | |
-------------------
2 | | X| | X| | |
-------------------
1 | | | | | | |
-------------------
2 4 6 8 10 Even Column #s
Another consideration when designing a font is how much space are you
going to reserve between each character. Typically columns 10 and 11
are left unused to provide this space. Of course if you are
designing a font which includes line characters that need to be
continuous then certainly you would need to use these columns so that
the lines drawn by two characters would appear continuous.
Each character that is sent to the printer is defined by 12
integers. The first integer to be sent is called the attribute and
it tells the printer whether to use the top or the bottom eight pins
for the character. The attribute also tells the printer which column
to start and end printing when proportionally spaced characters are
selected. The bit pattern of the attribute is defined by column 0 in
figure 2. The next 11 integers in the character definition define
the bit patterns of each column 1 through 11.
Figure 2.
Each font character
0 1 2 3 4 5 6 7 8 9 10 11 is an array of 11
| integers that contain
bit 7 1=top 8 pins;0= bottom 8 pins the summation of the
pattern 6 \ binary values making up
of 5 > starting column for each column. Notice
ColNum 0 4 / proportional spacing that ColNum 0 is not
3 \ displayed. This is
2 \ ending column for the attribute integer
1 / proportional spacing and is used as shown
0 / in the figure.
Each of the 11 integers is translated by the printer into the bit
pattern firing instructions for the eight pins designated by the
FONTEDIT Page 6 Documentation
attribute. An example of 12 integers sent to the printer and their
translation into the printed letter X is shown in figure 3. Notice
that the values of the 11 column integers is the summation of the
number 2 raised to the BitPower corresponding to a 1. For example
column 3 has a column value of 2^2 + 2^6 or 68.
Figure 3.
BitPower
7 t - 1 - - - - - 1 - - -
6 o - - 1 - - - 1 - - - - printer array
5 p - - - 1 - 1 - - - - - of -s and 1s.
4 - - - - 1 - - - - - - A 1 will be printed
3 p - - - 1 - 1 - - - - - as a dot.
2 i - - 1 - - - 1 - - - - A - as a
1 n - 1 - - - - - 1 - - - blank.
0 s 1 - - - - - - - 1 - -
0 1 2 3 4 5 6 7 8 9 10 11 ColNum
| | | | | | | | | | | |
character 128|130| 40| 40|130| 0 |
values 1 68 16 68 1 0
FontEdit reverses the process just described for printing. It allows
you to place dots in the character matrix and then store these bit
patterns as 12 character integers which later can be edited or sent
to the printer RAM.
Details of functions.
---------------------
CHARACTER WINDOW SELECTION
The main menu of FONTEDIT provides several choices that are
selectable with the function keys. Along with the menu window there
is a character window. The character displayed can be changed by
using the arrow keys or function keys Fn2 and Fn3.
LOAD FONT
The function key, Fn5, will load a font from disk into memory.
You will be shown a list of files with the extension .FNT that are on
the default drive. You may enter one of these or a path and name of
another file. NOTE: You do not need to enter the extension; FONTEDIT
assumes the extension of .FNT on all font files.
SAVE FONT
The function key, Fn6, will save a font in memory as a disk file.
You will be asked for a file name to which you want to save the
font. FONTEDIT will indicate if the file already exists and ask you
if you want to overwrite the existing file. If the file name you
enter is not found then the file is created with the extension of
.FNT. NOTE: When entering the file name you do not need to enter the
extension. If you enter an extersion, FONTEDIT will change it to
.FNT.
FONTEDIT Page 7 Documentation
COPY CHARACTERS FROM ANOTHER FONT
FONTEDIT allows you to copy a partial font from disk into a
designated area of the font in memory by pressing Fn7. For example,
if you have a font of greek letters in memory (characters 49-80) and
want to also include a line drawing font in characters 81-121 then
you would press Fn7. You would then be shown a list of font files
and asked to enter the name of the file from which the new characters
will be derived (LINE). You will then be asked to enter the
beginning character of the font on disk that you wish to copy (41).
Next, you will be asked for the last character to copy from the disk
file (81). This assums that you know the locations of the characters
in the disk font file. This information is readily available if you
print out all of the fonts you create using Fn9 and keep them as a
hard copy. You will then be asked to enter the character number of
the font in memory to which the characters will begin to be
transferred (81). Transfer will then begin. Using the above example
characters 41 to 81 from the font file LINE would be transferred into
characters 81 to 121 in the memory resident font.
This function allows you to move blocks of characters around
between fonts and within a font to create application specific fonts.
Characters may be moved around within a font by saving the font to
disk and then copying selected blocks into a blank font using Fn7.
SELECT CHARACTER
You may move to any character in the memory resident font by
using Fn4. After selecting this function enter a character number in
the range 0 to 255. That character will then be displayed in the
character window. This function saves moving through the font one
character at a time with the cursor keys.
EDIT FONT
A font character can be created or edited by pressing Fn1. This
moves the cursor to the character window. The even and odd columns
are displayed in different colored dots. Dots on the same row must
be separated by at least one blank column. That means that the
closest dots on the same row will have the same color.
CURSOR MOVEMENT
The cursor is moved around the character with the cursor
keys. When the cursor reaches one of the edges of the character
it is wrapped around to the opposite side of the character. The
HOME and END keys move the cursor to the top right and lower left
parts of the character respectively. The PgUp and PgDn keys move
the cursor to the top and bottom of the character respectively
while remaining in the same column.
INSERTING AND DELETING DOTS
Dots may be entered into the character field by pressing the
INS key. If the CAPSLOCK key is off the INS key will display a
dot and remain at those coordinates. If the CAPSLOCK key is on
then the INS key will display a dot and move the cursor
FONTEDIT Page 8 Documentation
horizontally two spaces to the next valid dot position. The DEL
key removes a dot from the character. If the CAPSLOCK key is on,
the dot under the cursor is deleted and the cursor moves to the
left two spaces otherwise the cursor remains at the deleted
position. When using INS and DEL with the CAPSLOCK on the cursor
not only wraps to the opposite side but also move to the next
line.
SHIFTING CHARACTERS
All the dots within the character field can be moved in each
of four directions with the function keys Fn1, Fn2, Fn3 and Fn4.
Fn1 moves the character to the left. Fn2 moves the character up
while Fn3 moves the character down. Fn4 moves the character to
the right. These keys move the character one column or row in
their respective direction and any dots moved out of the
character field are lost. So, for example, if you pressed Fn1 and
then Fn4 then all dots in column 1 would have been deleted.
FILL CHARACTER
You may fill a character field with dots and then edit it
using the DEL function. You have a choice of filling either the
odd or even columns. Fn5 will fill the even columns and Fn6 will
fill the odd columns.
CLEAR CHARACTER
If you wish to start creation of a character over again, you
may delete all the dots in the current character field with the
Fn7 key.
COPY CHARACTER
When in the edit mode you may copy a character from the font
resident in memory into the character being edited using the Fn8
key. When queried, enter a character number between 0 and 255.
PRINT CHARACTER
When you have completed editing a character and would like to
see how it looks printed out, press the Fn9 key. This function
will exit the edit mode and print the character on the printer.
The character will be printed in single-strike, double-strike,
emphasized and double-strike emphasized printing weights. The
three type styles used are pica, elite and compressed. This will
allow you to see the character printed under several different
conditions and aid in your editing process. NOTE: Not all
printing weights are supported for each of the three type styles
so don't get upset if your printer doesn't print the compressed
type style in double-strike emphasized.
END EDIT
When you have finished editing a character use the Fn10 key
to return to the main menu. Before FONTEDIT will return to the
main menu it will display the current state of the attribute. It
will show whether the top or the bottom 8 pins of the print head
are to be used. It will also show the beginning and ending
columns of the character to be used in proportional printing. If
FONTEDIT Page 9 Documentation
these parts of the attribute are acceptable then enter NO to the
question "Do you want to change these values?" otherwise enter
YES. If you enter YES then you will be asked to enter values for
each part of the attribute. You can choose between the TOP and
BOTTOM 8 pins in the print head. Next you will be asked to enter
the beginning and ending columns for defining a proportionally
spaced character. For most characters that use column 1, the
beginning should be entered as 0. The ending column should take
into account that a space should be left between each character.
As a general rule, the ending should be at least two columns
greater than the last column used by the character. For example,
if a character used columns 1 through 8 then the beginning and
ending columns would be 0 and 10 respectively. The beginning and
ending information will ONLY be used by the printer when it is in
the proportional mode. It will not affect the characters
otherwise.
PRINT CURRENT FONT
Whenever you want to see what characters are in your current font
you can use Fn10 from the main menu. This will print all the
characters currently residing in memory with the exception of a few
characters whose numbers are used as control codes. Characters 7-15,
17-20, 24, 27, 127, 135 and 255 are considered by the printer to be
control codes. Therefore, when the font is printed these characters
will be blank. You can however create font characters with these
numbers and upload them to your printer's RAM. These characters can
subsequently be printed using special control codes not included in
this program. The user is referred to the printer manual for further
discussion on this subject. If you create a character in one of
these controll character regions and want to see what it looks like
on your printer then use the print character function when you are in
the edit mode for that character. This uses the printer RAM for
character 33 to store and print the character, therefore any
character printed in the edit mode will be displayed on the printer.
NOTE: Printing a font on the printer destroys any characters
previously stored in the printer RAM. A reset code is sent to the
printer before and after printing the font currently in memory. This
means that a fonts will no longer reside in the printer memory after
printing the font. To load a font into the printer for access by
other applications see "Loading fonts into printer RAM" below.
CLEAR FONT
You may clear a font by using the Fn8 key. This is useful after
you have created a font and want to rearrange the characters. You
must first save the font and then use Fn8 to clear memory. You would
then use Fn7 to read characters from your original font file into the
appropriate character locations in memory.
END FONTEDIT PROGRAM
The function key Fn10 in the main menu will allow you to exit the
FONTEDIT program. You will be asked if you have saved the current
font in memory. If you have already saved it or do not wish to save
it then enter YES, otherwise NO will return you to the main menu of
FONTEDIT Page 10 Documentation
FONTEDIT.
LOADING FONTS INTO PRINTER RAM
------------------------------
Once a font has been created you will want to load it into the
RAM of your printer. Two utility programs are provided with FONTEDIT
to load fonts into printer memory. These programs are EPSONLDR and
PROLDR and are for the Epson JX, FX-series and IBM Proprinter
respectively. The IBM Proprinter uses slightly different commands to
load fonts into memory. The proprinter also does not support
proportional spacing, therefore the attribute integer is modified to
the proper format during transfer to the printer. Each program
displays the font files found in the active directory and requests
you to enter a file name. File names may be selected from the list
shown and entered as part of a path:filename.
USES OF FONTEDIT
----------------
There are three fonts included with FONTEDIT. These fonts are:
GrkLn.fnt, IBM.fnt and Sideways.fnt. GrkLn.fnt is a collection of
Greek and line characters that I use with my word processor. IBM.fnt
is the IBM character font. Sideways.fnt is a font for printing
sideways on a dot matrix printer without using graphics mode.
There are other possibilities for using FONTEDIT, for instance
you might want to create large characters or a particular logo
without switching into graphics mode. The parts can be easily
designed by FONTEDIT and assigned to the characters of you choice.
There is also the option of creating your own graphics characters
that will be printed at character instead of graphics speed. I
created some special thick line characters to draw a figure in the
middle of some text on my word processor. It worked out nicely!
I have used the line characters to interface my printer with the
maze creating program MAZE1LVL.PAS. I wrote a batch file that loaded
the line characters into the printer and set it to use the RAM area
for printing. I then called MAZE1LVL which I had modified to pause
and ask if a printout was wanted. My children loved it. Now they can
not only create mazes but they can print them out and challenge their
friends.
BE CREATIVE AND ENJOY FONTEDIT !!!
Claire A. Rinehart
1986